Since its inception, the World-Wide Web (“Web”) has continuously grown to include literally billions of pages of information. Web pages typically comprise HTML (HyperText Markup Language) text with tags indicating how the text is to be displayed on a computer screen, typically through a web browser such as Internet Explorer, Netscape Navigator, or Mozilla Firefox.
The process of authoring HTML can be cumbersome, with a typical document requiring many tags in order to specify the desired output. Additionally, there are typically many tags to choose from. Further, errors in formatting the HTML can be hard to detect, because there is typically no validation performed for HTML.
XML (eXtensible Markup Language) and XSL (eXtensible Style Language) have been used to assist in defining web pages. However, it is still difficult to validate XML and XSL files without actually attempting to render the XML and XSL on a display screen. As a result, problems with HTML, XML and XSL are typically found later in the design process rather than earlier when it may be easier and more economical to fix them.
Additionally, an entity may desire to maintain a consistent look and feel across a set of many web pages, while also requiring the ability to insert dynamic content, that is, content that may change from one request for a page to the next request for the same page. For example, a company may desire to provide a consistent set of graphics (e.g. a company logo) across a set of the company's web pages. Each of the company's web pages typically must contain code to display the set of graphics. Later, if the company desires to change the look and feel of the web site, many pages will typically need to be edited to reflect the change.